.cs-leaderboard-wrapper {
    width: 1200px;
    height: 800px;
    position: absolute;
    top: 0;
    left: 0;
    cursor: default;
    min-width: 800px;
    min-height: 600px;
    flex-shrink: 0;
    pointer-events: auto;

    .loading-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10000;

        .loading-content {
            text-align: center;
            color: white;

            .loading-spinner {
                width: 50px;
                height: 50px;
                border: 4px solid rgba(255, 255, 255, 0.3);
                border-top: 4px solid #fff;
                border-radius: 50%;
                animation: spin 1s linear infinite;
                margin: 0 auto 20px;
            }

            .loading-text {
                font-size: 16px;
                line-height: 1.5;
                white-space: pre-line;
            }
        }
    }

    .video-container {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;

        .fullscreen-video {
            height: 100%;
            width: 100%;
            display: block;
        }

        .player-card {
            position: absolute;
            z-index: 100;
            display: flex;
            align-items: center;
            background: rgba(43, 88, 118, 0.4);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.18);
            padding: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            color: white;
            width: 200px;
            transform-origin: center;
            border-radius: 8px;

            .player-rank {
                margin-right: 15px;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 40px;
                height: 40px;
                background: rgba(255, 255, 255, 0.2);
                    border-radius: 50%;
                font-weight: bold;
                font-size: 18px;
                
                .rank-image {
                    width: 35px;
                    height: 35px;
                    object-fit: contain;
                    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
                }
                
                .rank-number {
                    color: white;
                    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
                }
            }

            .player-info {
                flex: 1;

                .player-name {
                    font-size: 20px;
                    font-weight: bold;
                    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
                    margin-bottom: 5px;
                }

                .player-score {
                    font-size: 15px;
                    opacity: 0.95;
                    background: rgba(255, 255, 255, 0.1);
                    padding: 2px 4px;
                    border-radius: 4px;
                    display: inline-block;
                }
            }
        }

        .leaderboard-container {
            position: absolute;
            left: 1%;
            bottom: 9%;
            width: 300px;
            height: 280px; // 增加高度以显示5个item
            padding: 15px;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
            border-radius: 10px;
            z-index: 1000;

            .leaderboard-header {
                color: white;
                font-size: 18px;
                font-weight: bold;
                margin-bottom: 10px;
                text-align: center;
                padding: 5px;
                background: rgba(255, 255, 255, 0.1);
                border-radius: 5px;
            }

            .leaderboard-content {
                max-height: 240px; // 增加内容区域高度
                overflow-y: auto;

                &::-webkit-scrollbar {
                    width: 6px;
                }

                &::-webkit-scrollbar-track {
                    background: rgba(255, 255, 255, 0.1);
                    border-radius: 3px;
                }

                &::-webkit-scrollbar-thumb {
                    background: rgba(255, 255, 255, 0.3);
                    border-radius: 3px;
                }

                .player-row {
                    display: flex;
                    align-items: center;
                    padding: 8px;
                    margin-bottom: 4px;
                    background: rgba(255, 255, 255, 0.05);
                    border-radius: 8px;
                    transition: background 0.2s ease;
                    position: relative;
                    overflow: hidden;
                    cursor: pointer;
                    min-height: 40px; // 确保每行有固定高度

                    &:hover {
                        background: rgba(255, 255, 255, 0.15);
                        transform: translateX(2px);
                    }

                    .rank {
                        width: 25px;
                        font-weight: bold;
                        color: #fff;
                        text-align: center;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        
                        .rank-list-image {
                            width: 22px;
                            height: 22px;
                            object-fit: contain;
                            filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.3));
                        }
                        
                        .rank-number {
                            color: white;
                            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
                        }
                    }

                    .player-name {
                        flex: 1;
                        margin: 0 15px;
                        color: #fff;
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                    }

                    .score {
                        font-weight: bold;
                        color: #fff;
                        min-width: 80px;
                        text-align: right;
                    }
                }
            }
        }

        .empty-state {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            color: #fff;
            background: rgba(0, 0, 0, 0.6);
            padding: 30px;
            border-radius: 10px;
            backdrop-filter: blur(10px);
            
            .empty-icon {
                font-size: 80px;
                margin-bottom: 20px;
            }
            
            .empty-text {
                font-size: 24px;
                font-family: 'Microsoft YaHei';
                margin-bottom: 10px;
            }
        }
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}